<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    
  </style>
</head>
<body>
  
</body>
<script>

  // var a = 10;
  // var a = 20;
  // console.log(a);
  // 不允许重复
  // let a = 10;
  // let a = 20;
  // console.log(a);

  // var a = 10;
  // console.log(a)
  // console.log(window.a)
  // 全局变量不会绑定到window
  // let a = 10;
  // console.log(a)
  // console.log(window.a)

  // console.log(a);
  // var a = 10;
  // console.log(a);
  // 不存在声明提升
  // console.log(a);
  // let a = 10;
  // console.log(a);

  // if( true ){
  //   var a = 10;
  // }
  // console.log(a);
  // 块级作用域：花括号就是一个作用域
  // if( true ){
  //   let a = 10;
  // }
  // console.log(a);

  // function fn( a ){
  //   var a = 10;
  // }
  // fn("hello");
  // 暂时性死区
  // function fn(){
  //   let a = 10;
  // }
  // fn("hello");


  // let有的，const都有

  // let和const的区别
  // const声明的变量，不允许修改地址，可以改值
  // 注意：基本数据类型和复杂数据类型的区别

  // let a = 10;
  // a = 20;
  // console.log(a)

  // const a = 10;
  // a = 20;
  // console.log(a)

  // const obj = {name:"admin"};
  // obj.name = "root";
  // obj = "hello"
  // console.log(obj);

  // var，let，const使用习惯优先级
  // const -> let -> var
</script>
</html>